1. Field of the Invention
The present invention relates to systems that provide telephony services. More specifically, the present invention relates to an apparatus and a method for developing applications with telephony functionality.
2. Related Art
Modern telephony systems support voice applications that provide essential services and capabilities to modern business enterprises. For example, these voice applications can support call centers, voice mail, conferencing, and next generation application functions, such as wake-up calls and stock alerts.
Current systems can provide these services through a voice extensible markup language (VXML) gateway that acts as an interface between an application server and the public switched telephone network (PSTN). This allows the application server to provide VXML pages to the VXML gateway. The VMXL gateway uses these VXML pages to interface with a user.
In doing so, the user may select an option from the VXML page that switches the incoming call from the service representative to a telephone within the company that belongs to the user. The VXML gateway facilitates this switching operation. At the end of the call, the user can be switched back to the application server to access a different service.
One problem with this technique is that it ties up ports on the VXML server needlessly. One port is used for the incoming call and a second port is used to make the connection to the user's telephone within the company. Using two ports to connect an external telephone with an internal telephone is a very expensive solution because the VXML ports are expensive to install and maintain.
One technique for freeing ports used in this way is for the call center application to perform a “blind switch” to the internal telephone. In this technique, the incoming call is coupled directly to the internal telephone without the VXML gateway in the loop. However, because the VXML gateway is not in the loop, the user cannot regain access to the VXML gateway without hanging up the telephone and redialing the call center application.
Hence, what is needed is an apparatus and a method for developing applications with telephony functionality without the problems described above.